package app

import (
	"fmt"
	"github.com/gorilla/websocket"
	"im_project/configs"
)

// Client 副本，方法无法跨包定义
type Client struct {
	Conn *websocket.Conn // websocket连接
	Name string          // 用户名称
}

// ReadMsg 读数据
func (c Client) ReadMsg() {
	for {
		// 读取消息。如果连接断开，则会返回错误
		_, msgData, err := c.Conn.ReadMessage()

		// 如果返回错误，就退出循环
		if err != nil {
			break
		}

		fmt.Println("read ws err : " + string(msgData))

		//如果没有错误，则把用户发送的信息放入message通道中
		var msg configs.Message
		msg.Name = c.Name
		msg.EventType = 0
		msg.Message = string(msgData)
		configs.MessagesChan <- msg
	}
}
